/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.inathitunzana.principles.ocpcomply;

/**
 *
 * @author Student
 */
public interface Loanrequestvalidator {
    public void SetBalance(double balance);
    public void SetPeriod(int period);
    // A Validator interface has been created, for which each Account type must
    // implement. This will avoid "tight-coupling" of Loanrequestvalidator class.
    // The Loanrequestvalidator class is never aware of the type of account validation
    // being used. It only depends on an instance of an implementation of the Validator inteface it receives
    // via the GetApproval method, and the corresponding implementation class executes.
    // SEE the PersonalAccountLoanValidator and the BusinessAccountLoanValidator classes
    // that implement the Validator interface and implements personal accounts and business accounts
    // This is called "ABSTRACT COUPLING"

    public String GetApproval(Validator validator);
}
